With the proliferation of enhanced communication networks and computing devices web services are becoming more popular for client/server communications. Web services can be located on servers within an enterprise or online (hosted offering) and accessed by clients for a wide variety of operations. Document sharing, search, analysis, reporting, data mining are just a few examples of web services. The increasing popularity of web services has brought about developments in thin clients like rich Internet applications with rich user interface (UI) in a browser or mobile client application.
A thin client a computer program, which depends heavily on another computer (or a server) to fulfill its traditional computational roles. This is in contrast with a traditional thick client, a computer program (or device) designed to perform these roles by itself. The server in the thin client set up may assume a variety of roles including, but not limited to, providing data persistence, information processing, communication facilitation, and comparable ones.
Thick client architectures typically include the client itself, an application server, and a database server managing processed data. Since thin client applications are recent, a large portion of web-based systems are designed using the 3-tiered thick client architecture. Thus, the shared roles between a thin client and its server (e.g. a web server) may present a challenge in integration of this relatively new development into legacy systems.